// Copyright (c) 2010, SMB SAAS Systems Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  SMB SAAS Systems Inc.  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.4200
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
// 
using dotPanel.Providers.HostedSolution;

namespace dotPanel.Providers.Exchange {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="ExchangeServerSoap", Namespace="http://smbsaas/dotpanel/server/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseStatistics))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class ExchangeServer : Microsoft.Web.Services3.WebServicesClientProtocol {
        
        public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;
        
        private System.Threading.SendOrPostCallback CheckAccountCredentialsOperationCompleted;
        
        private System.Threading.SendOrPostCallback ExtendToExchangeOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateMailEnableUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateOrganizationOfflineAddressBookOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateOrganizationOfflineAddressBookOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOABVirtualDirectoryOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetOrganizationStorageLimitsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxesStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddAuthoritativeDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAuthoritativeDomainsOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteAuthoritativeDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateMailboxOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteMailboxOperationCompleted;
        
        private System.Threading.SendOrPostCallback DisableMailboxOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxAdvancedSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxAdvancedSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxPrimaryEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateContactOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteContactOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetContactGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetContactGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetContactMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetContactMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateDistributionListOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteDistributionListOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListPrimaryEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreatePublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeletePublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback EnableMailPublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback DisableMailPublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderPrimaryEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFoldersStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFoldersRecursiveOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderSizeOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateOrganizationActiveSyncPolicyOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetActiveSyncPolicyOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetActiveSyncPolicyOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMobileDevicesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted;
        
        private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted;
        
        private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted;
        
        private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted;
        
        /// <remarks/>
        public ExchangeServer() {
            this.Url = "http://127.0.0.1:9003/ExchangeServer.asmx";
        }
        
        /// <remarks/>
        public event CheckAccountCredentialsCompletedEventHandler CheckAccountCredentialsCompleted;
        
        /// <remarks/>
        public event ExtendToExchangeOrganizationCompletedEventHandler ExtendToExchangeOrganizationCompleted;
        
        /// <remarks/>
        public event CreateMailEnableUserCompletedEventHandler CreateMailEnableUserCompleted;
        
        /// <remarks/>
        public event CreateOrganizationOfflineAddressBookCompletedEventHandler CreateOrganizationOfflineAddressBookCompleted;
        
        /// <remarks/>
        public event UpdateOrganizationOfflineAddressBookCompletedEventHandler UpdateOrganizationOfflineAddressBookCompleted;
        
        /// <remarks/>
        public event GetOABVirtualDirectoryCompletedEventHandler GetOABVirtualDirectoryCompleted;
        
        /// <remarks/>
        public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted;
        
        /// <remarks/>
        public event SetOrganizationStorageLimitsCompletedEventHandler SetOrganizationStorageLimitsCompleted;
        
        /// <remarks/>
        public event GetMailboxesStatisticsCompletedEventHandler GetMailboxesStatisticsCompleted;
        
        /// <remarks/>
        public event AddAuthoritativeDomainCompletedEventHandler AddAuthoritativeDomainCompleted;
        
        /// <remarks/>
        public event GetAuthoritativeDomainsCompletedEventHandler GetAuthoritativeDomainsCompleted;
        
        /// <remarks/>
        public event DeleteAuthoritativeDomainCompletedEventHandler DeleteAuthoritativeDomainCompleted;
        
        /// <remarks/>
        public event CreateMailboxCompletedEventHandler CreateMailboxCompleted;
        
        /// <remarks/>
        public event DeleteMailboxCompletedEventHandler DeleteMailboxCompleted;
        
        /// <remarks/>
        public event DisableMailboxCompletedEventHandler DisableMailboxCompleted;
        
        /// <remarks/>
        public event GetMailboxGeneralSettingsCompletedEventHandler GetMailboxGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetMailboxGeneralSettingsCompletedEventHandler SetMailboxGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxMailFlowSettingsCompletedEventHandler GetMailboxMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetMailboxMailFlowSettingsCompletedEventHandler SetMailboxMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxAdvancedSettingsCompletedEventHandler GetMailboxAdvancedSettingsCompleted;
        
        /// <remarks/>
        public event SetMailboxAdvancedSettingsCompletedEventHandler SetMailboxAdvancedSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxEmailAddressesCompletedEventHandler GetMailboxEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetMailboxEmailAddressesCompletedEventHandler SetMailboxEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetMailboxPrimaryEmailAddressCompletedEventHandler SetMailboxPrimaryEmailAddressCompleted;
        
        /// <remarks/>
        public event SetMailboxPermissionsCompletedEventHandler SetMailboxPermissionsCompleted;
        
        /// <remarks/>
        public event GetMailboxPermissionsCompletedEventHandler GetMailboxPermissionsCompleted;
        
        /// <remarks/>
        public event GetMailboxStatisticsCompletedEventHandler GetMailboxStatisticsCompleted;
        
        /// <remarks/>
        public event CreateContactCompletedEventHandler CreateContactCompleted;
        
        /// <remarks/>
        public event DeleteContactCompletedEventHandler DeleteContactCompleted;
        
        /// <remarks/>
        public event GetContactGeneralSettingsCompletedEventHandler GetContactGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetContactGeneralSettingsCompletedEventHandler SetContactGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetContactMailFlowSettingsCompletedEventHandler GetContactMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetContactMailFlowSettingsCompletedEventHandler SetContactMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event CreateDistributionListCompletedEventHandler CreateDistributionListCompleted;
        
        /// <remarks/>
        public event DeleteDistributionListCompletedEventHandler DeleteDistributionListCompleted;
        
        /// <remarks/>
        public event GetDistributionListGeneralSettingsCompletedEventHandler GetDistributionListGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetDistributionListGeneralSettingsCompletedEventHandler SetDistributionListGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetDistributionListMailFlowSettingsCompletedEventHandler GetDistributionListMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetDistributionListMailFlowSettingsCompletedEventHandler SetDistributionListMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event GetDistributionListEmailAddressesCompletedEventHandler GetDistributionListEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetDistributionListEmailAddressesCompletedEventHandler SetDistributionListEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetDistributionListPrimaryEmailAddressCompletedEventHandler SetDistributionListPrimaryEmailAddressCompleted;
        
        /// <remarks/>
        public event SetDistributionListPermissionsCompletedEventHandler SetDistributionListPermissionsCompleted;
        
        /// <remarks/>
        public event GetDistributionListPermissionsCompletedEventHandler GetDistributionListPermissionsCompleted;
        
        /// <remarks/>
        public event CreatePublicFolderCompletedEventHandler CreatePublicFolderCompleted;
        
        /// <remarks/>
        public event DeletePublicFolderCompletedEventHandler DeletePublicFolderCompleted;
        
        /// <remarks/>
        public event EnableMailPublicFolderCompletedEventHandler EnableMailPublicFolderCompleted;
        
        /// <remarks/>
        public event DisableMailPublicFolderCompletedEventHandler DisableMailPublicFolderCompleted;
        
        /// <remarks/>
        public event GetPublicFolderGeneralSettingsCompletedEventHandler GetPublicFolderGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetPublicFolderGeneralSettingsCompletedEventHandler SetPublicFolderGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetPublicFolderMailFlowSettingsCompletedEventHandler GetPublicFolderMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetPublicFolderMailFlowSettingsCompletedEventHandler SetPublicFolderMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event GetPublicFolderEmailAddressesCompletedEventHandler GetPublicFolderEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetPublicFolderEmailAddressesCompletedEventHandler SetPublicFolderEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetPublicFolderPrimaryEmailAddressCompletedEventHandler SetPublicFolderPrimaryEmailAddressCompleted;
        
        /// <remarks/>
        public event GetPublicFoldersStatisticsCompletedEventHandler GetPublicFoldersStatisticsCompleted;
        
        /// <remarks/>
        public event GetPublicFoldersRecursiveCompletedEventHandler GetPublicFoldersRecursiveCompleted;
        
        /// <remarks/>
        public event GetPublicFolderSizeCompletedEventHandler GetPublicFolderSizeCompleted;
        
        /// <remarks/>
        public event CreateOrganizationActiveSyncPolicyCompletedEventHandler CreateOrganizationActiveSyncPolicyCompleted;
        
        /// <remarks/>
        public event GetActiveSyncPolicyCompletedEventHandler GetActiveSyncPolicyCompleted;
        
        /// <remarks/>
        public event SetActiveSyncPolicyCompletedEventHandler SetActiveSyncPolicyCompleted;
        
        /// <remarks/>
        public event GetMobileDevicesCompletedEventHandler GetMobileDevicesCompleted;
        
        /// <remarks/>
        public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted;
        
        /// <remarks/>
        public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted;
        
        /// <remarks/>
        public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted;
        
        /// <remarks/>
        public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CheckAccountCredentials", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool CheckAccountCredentials(string username, string password) {
            object[] results = this.Invoke("CheckAccountCredentials", new object[] {
                        username,
                        password});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCheckAccountCredentials(string username, string password, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CheckAccountCredentials", new object[] {
                        username,
                        password}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndCheckAccountCredentials(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void CheckAccountCredentialsAsync(string username, string password) {
            this.CheckAccountCredentialsAsync(username, password, null);
        }
        
        /// <remarks/>
        public void CheckAccountCredentialsAsync(string username, string password, object userState) {
            if ((this.CheckAccountCredentialsOperationCompleted == null)) {
                this.CheckAccountCredentialsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckAccountCredentialsOperationCompleted);
            }
            this.InvokeAsync("CheckAccountCredentials", new object[] {
                        username,
                        password}, this.CheckAccountCredentialsOperationCompleted, userState);
        }
        
        private void OnCheckAccountCredentialsOperationCompleted(object arg) {
            if ((this.CheckAccountCredentialsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CheckAccountCredentialsCompleted(this, new CheckAccountCredentialsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/ExtendToExchangeOrganization", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization ExtendToExchangeOrganization(string organizationId, string securityGroup) {
            object[] results = this.Invoke("ExtendToExchangeOrganization", new object[] {
                        organizationId,
                        securityGroup});
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginExtendToExchangeOrganization(string organizationId, string securityGroup, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ExtendToExchangeOrganization", new object[] {
                        organizationId,
                        securityGroup}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization EndExtendToExchangeOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public void ExtendToExchangeOrganizationAsync(string organizationId, string securityGroup) {
            this.ExtendToExchangeOrganizationAsync(organizationId, securityGroup, null);
        }
        
        /// <remarks/>
        public void ExtendToExchangeOrganizationAsync(string organizationId, string securityGroup, object userState) {
            if ((this.ExtendToExchangeOrganizationOperationCompleted == null)) {
                this.ExtendToExchangeOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExtendToExchangeOrganizationOperationCompleted);
            }
            this.InvokeAsync("ExtendToExchangeOrganization", new object[] {
                        organizationId,
                        securityGroup}, this.ExtendToExchangeOrganizationOperationCompleted, userState);
        }
        
        private void OnExtendToExchangeOrganizationOperationCompleted(object arg) {
            if ((this.ExtendToExchangeOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExtendToExchangeOrganizationCompleted(this, new ExtendToExchangeOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreateMailEnableUser", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string CreateMailEnableUser(
                    string upn, 
                    string organizationId, 
                    string organizationDistinguishedName, 
                    ExchangeAccountType accountType, 
                    string mailboxDatabase, 
                    string offlineAddressBook, 
                    string accountName, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays) {
            object[] results = this.Invoke("CreateMailEnableUser", new object[] {
                        upn,
                        organizationId,
                        organizationDistinguishedName,
                        accountType,
                        mailboxDatabase,
                        offlineAddressBook,
                        accountName,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateMailEnableUser(
                    string upn, 
                    string organizationId, 
                    string organizationDistinguishedName, 
                    ExchangeAccountType accountType, 
                    string mailboxDatabase, 
                    string offlineAddressBook, 
                    string accountName, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("CreateMailEnableUser", new object[] {
                        upn,
                        organizationId,
                        organizationDistinguishedName,
                        accountType,
                        mailboxDatabase,
                        offlineAddressBook,
                        accountName,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndCreateMailEnableUser(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void CreateMailEnableUserAsync(
                    string upn, 
                    string organizationId, 
                    string organizationDistinguishedName, 
                    ExchangeAccountType accountType, 
                    string mailboxDatabase, 
                    string offlineAddressBook, 
                    string accountName, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays) {
            this.CreateMailEnableUserAsync(upn, organizationId, organizationDistinguishedName, accountType, mailboxDatabase, offlineAddressBook, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null);
        }
        
        /// <remarks/>
        public void CreateMailEnableUserAsync(
                    string upn, 
                    string organizationId, 
                    string organizationDistinguishedName, 
                    ExchangeAccountType accountType, 
                    string mailboxDatabase, 
                    string offlineAddressBook, 
                    string accountName, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays, 
                    object userState) {
            if ((this.CreateMailEnableUserOperationCompleted == null)) {
                this.CreateMailEnableUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateMailEnableUserOperationCompleted);
            }
            this.InvokeAsync("CreateMailEnableUser", new object[] {
                        upn,
                        organizationId,
                        organizationDistinguishedName,
                        accountType,
                        mailboxDatabase,
                        offlineAddressBook,
                        accountName,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, this.CreateMailEnableUserOperationCompleted, userState);
        }
        
        private void OnCreateMailEnableUserOperationCompleted(object arg) {
            if ((this.CreateMailEnableUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateMailEnableUserCompleted(this, new CreateMailEnableUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreateOrganizationOfflineAddressBook", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir) {
            object[] results = this.Invoke("CreateOrganizationOfflineAddressBook", new object[] {
                        organizationId,
                        securityGroup,
                        oabVirtualDir});
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateOrganizationOfflineAddressBook", new object[] {
                        organizationId,
                        securityGroup,
                        oabVirtualDir}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization EndCreateOrganizationOfflineAddressBook(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public void CreateOrganizationOfflineAddressBookAsync(string organizationId, string securityGroup, string oabVirtualDir) {
            this.CreateOrganizationOfflineAddressBookAsync(organizationId, securityGroup, oabVirtualDir, null);
        }
        
        /// <remarks/>
        public void CreateOrganizationOfflineAddressBookAsync(string organizationId, string securityGroup, string oabVirtualDir, object userState) {
            if ((this.CreateOrganizationOfflineAddressBookOperationCompleted == null)) {
                this.CreateOrganizationOfflineAddressBookOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOfflineAddressBookOperationCompleted);
            }
            this.InvokeAsync("CreateOrganizationOfflineAddressBook", new object[] {
                        organizationId,
                        securityGroup,
                        oabVirtualDir}, this.CreateOrganizationOfflineAddressBookOperationCompleted, userState);
        }
        
        private void OnCreateOrganizationOfflineAddressBookOperationCompleted(object arg) {
            if ((this.CreateOrganizationOfflineAddressBookCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateOrganizationOfflineAddressBookCompleted(this, new CreateOrganizationOfflineAddressBookCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/UpdateOrganizationOfflineAddressBook", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateOrganizationOfflineAddressBook(string id) {
            this.Invoke("UpdateOrganizationOfflineAddressBook", new object[] {
                        id});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateOrganizationOfflineAddressBook(string id, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateOrganizationOfflineAddressBook", new object[] {
                        id}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndUpdateOrganizationOfflineAddressBook(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void UpdateOrganizationOfflineAddressBookAsync(string id) {
            this.UpdateOrganizationOfflineAddressBookAsync(id, null);
        }
        
        /// <remarks/>
        public void UpdateOrganizationOfflineAddressBookAsync(string id, object userState) {
            if ((this.UpdateOrganizationOfflineAddressBookOperationCompleted == null)) {
                this.UpdateOrganizationOfflineAddressBookOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateOrganizationOfflineAddressBookOperationCompleted);
            }
            this.InvokeAsync("UpdateOrganizationOfflineAddressBook", new object[] {
                        id}, this.UpdateOrganizationOfflineAddressBookOperationCompleted, userState);
        }
        
        private void OnUpdateOrganizationOfflineAddressBookOperationCompleted(object arg) {
            if ((this.UpdateOrganizationOfflineAddressBookCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateOrganizationOfflineAddressBookCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetOABVirtualDirectory", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetOABVirtualDirectory() {
            object[] results = this.Invoke("GetOABVirtualDirectory", new object[0]);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOABVirtualDirectory(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOABVirtualDirectory", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetOABVirtualDirectory(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetOABVirtualDirectoryAsync() {
            this.GetOABVirtualDirectoryAsync(null);
        }
        
        /// <remarks/>
        public void GetOABVirtualDirectoryAsync(object userState) {
            if ((this.GetOABVirtualDirectoryOperationCompleted == null)) {
                this.GetOABVirtualDirectoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOABVirtualDirectoryOperationCompleted);
            }
            this.InvokeAsync("GetOABVirtualDirectory", new object[0], this.GetOABVirtualDirectoryOperationCompleted, userState);
        }
        
        private void OnGetOABVirtualDirectoryOperationCompleted(object arg) {
            if ((this.GetOABVirtualDirectoryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOABVirtualDirectoryCompleted(this, new GetOABVirtualDirectoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DeleteOrganization", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string offlineAddressBook, string securityGroup) {
            object[] results = this.Invoke("DeleteOrganization", new object[] {
                        organizationId,
                        distinguishedName,
                        globalAddressList,
                        addressList,
                        offlineAddressBook,
                        securityGroup});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string offlineAddressBook, string securityGroup, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteOrganization", new object[] {
                        organizationId,
                        distinguishedName,
                        globalAddressList,
                        addressList,
                        offlineAddressBook,
                        securityGroup}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndDeleteOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string offlineAddressBook, string securityGroup) {
            this.DeleteOrganizationAsync(organizationId, distinguishedName, globalAddressList, addressList, offlineAddressBook, securityGroup, null);
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string offlineAddressBook, string securityGroup, object userState) {
            if ((this.DeleteOrganizationOperationCompleted == null)) {
                this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted);
            }
            this.InvokeAsync("DeleteOrganization", new object[] {
                        organizationId,
                        distinguishedName,
                        globalAddressList,
                        addressList,
                        offlineAddressBook,
                        securityGroup}, this.DeleteOrganizationOperationCompleted, userState);
        }
        
        private void OnDeleteOrganizationOperationCompleted(object arg) {
            if ((this.DeleteOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetOrganizationStorageLimits", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) {
            this.Invoke("SetOrganizationStorageLimits", new object[] {
                        organizationDistinguishedName,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetOrganizationStorageLimits", new object[] {
                        organizationDistinguishedName,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetOrganizationStorageLimits(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetOrganizationStorageLimitsAsync(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) {
            this.SetOrganizationStorageLimitsAsync(organizationDistinguishedName, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null);
        }
        
        /// <remarks/>
        public void SetOrganizationStorageLimitsAsync(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, object userState) {
            if ((this.SetOrganizationStorageLimitsOperationCompleted == null)) {
                this.SetOrganizationStorageLimitsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationStorageLimitsOperationCompleted);
            }
            this.InvokeAsync("SetOrganizationStorageLimits", new object[] {
                        organizationDistinguishedName,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, this.SetOrganizationStorageLimitsOperationCompleted, userState);
        }
        
        private void OnSetOrganizationStorageLimitsOperationCompleted(object arg) {
            if ((this.SetOrganizationStorageLimitsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetOrganizationStorageLimitsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxesStatistics", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName) {
            object[] results = this.Invoke("GetMailboxesStatistics", new object[] {
                        organizationDistinguishedName});
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxesStatistics(string organizationDistinguishedName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxesStatistics", new object[] {
                        organizationDistinguishedName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] EndGetMailboxesStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxesStatisticsAsync(string organizationDistinguishedName) {
            this.GetMailboxesStatisticsAsync(organizationDistinguishedName, null);
        }
        
        /// <remarks/>
        public void GetMailboxesStatisticsAsync(string organizationDistinguishedName, object userState) {
            if ((this.GetMailboxesStatisticsOperationCompleted == null)) {
                this.GetMailboxesStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxesStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxesStatistics", new object[] {
                        organizationDistinguishedName}, this.GetMailboxesStatisticsOperationCompleted, userState);
        }
        
        private void OnGetMailboxesStatisticsOperationCompleted(object arg) {
            if ((this.GetMailboxesStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxesStatisticsCompleted(this, new GetMailboxesStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/AddAuthoritativeDomain", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void AddAuthoritativeDomain(string domain) {
            this.Invoke("AddAuthoritativeDomain", new object[] {
                        domain});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddAuthoritativeDomain(string domain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddAuthoritativeDomain", new object[] {
                        domain}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndAddAuthoritativeDomain(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void AddAuthoritativeDomainAsync(string domain) {
            this.AddAuthoritativeDomainAsync(domain, null);
        }
        
        /// <remarks/>
        public void AddAuthoritativeDomainAsync(string domain, object userState) {
            if ((this.AddAuthoritativeDomainOperationCompleted == null)) {
                this.AddAuthoritativeDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddAuthoritativeDomainOperationCompleted);
            }
            this.InvokeAsync("AddAuthoritativeDomain", new object[] {
                        domain}, this.AddAuthoritativeDomainOperationCompleted, userState);
        }
        
        private void OnAddAuthoritativeDomainOperationCompleted(object arg) {
            if ((this.AddAuthoritativeDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddAuthoritativeDomainCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetAuthoritativeDomains", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetAuthoritativeDomains() {
            object[] results = this.Invoke("GetAuthoritativeDomains", new object[0]);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetAuthoritativeDomains(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetAuthoritativeDomains", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public string[] EndGetAuthoritativeDomains(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAuthoritativeDomainsAsync() {
            this.GetAuthoritativeDomainsAsync(null);
        }
        
        /// <remarks/>
        public void GetAuthoritativeDomainsAsync(object userState) {
            if ((this.GetAuthoritativeDomainsOperationCompleted == null)) {
                this.GetAuthoritativeDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAuthoritativeDomainsOperationCompleted);
            }
            this.InvokeAsync("GetAuthoritativeDomains", new object[0], this.GetAuthoritativeDomainsOperationCompleted, userState);
        }
        
        private void OnGetAuthoritativeDomainsOperationCompleted(object arg) {
            if ((this.GetAuthoritativeDomainsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAuthoritativeDomainsCompleted(this, new GetAuthoritativeDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DeleteAuthoritativeDomain", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteAuthoritativeDomain(string domain) {
            this.Invoke("DeleteAuthoritativeDomain", new object[] {
                        domain});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteAuthoritativeDomain(string domain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteAuthoritativeDomain", new object[] {
                        domain}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteAuthoritativeDomain(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteAuthoritativeDomainAsync(string domain) {
            this.DeleteAuthoritativeDomainAsync(domain, null);
        }
        
        /// <remarks/>
        public void DeleteAuthoritativeDomainAsync(string domain, object userState) {
            if ((this.DeleteAuthoritativeDomainOperationCompleted == null)) {
                this.DeleteAuthoritativeDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteAuthoritativeDomainOperationCompleted);
            }
            this.InvokeAsync("DeleteAuthoritativeDomain", new object[] {
                        domain}, this.DeleteAuthoritativeDomainOperationCompleted, userState);
        }
        
        private void OnDeleteAuthoritativeDomainOperationCompleted(object arg) {
            if ((this.DeleteAuthoritativeDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteAuthoritativeDomainCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreateMailbox", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string CreateMailbox(
                    string organizationId, 
                    string organizationDistinguishedName, 
                    string mailboxDatabase, 
                    string securityGroup, 
                    string offlineAddressBook, 
                    ExchangeAccountType accountType, 
                    string displayName, 
                    string accountName, 
                    string name, 
                    string domain, 
                    string password, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays) {
            object[] results = this.Invoke("CreateMailbox", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        mailboxDatabase,
                        securityGroup,
                        offlineAddressBook,
                        accountType,
                        displayName,
                        accountName,
                        name,
                        domain,
                        password,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateMailbox(
                    string organizationId, 
                    string organizationDistinguishedName, 
                    string mailboxDatabase, 
                    string securityGroup, 
                    string offlineAddressBook, 
                    ExchangeAccountType accountType, 
                    string displayName, 
                    string accountName, 
                    string name, 
                    string domain, 
                    string password, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("CreateMailbox", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        mailboxDatabase,
                        securityGroup,
                        offlineAddressBook,
                        accountType,
                        displayName,
                        accountName,
                        name,
                        domain,
                        password,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndCreateMailbox(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void CreateMailboxAsync(
                    string organizationId, 
                    string organizationDistinguishedName, 
                    string mailboxDatabase, 
                    string securityGroup, 
                    string offlineAddressBook, 
                    ExchangeAccountType accountType, 
                    string displayName, 
                    string accountName, 
                    string name, 
                    string domain, 
                    string password, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays) {
            this.CreateMailboxAsync(organizationId, organizationDistinguishedName, mailboxDatabase, securityGroup, offlineAddressBook, accountType, displayName, accountName, name, domain, password, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null);
        }
        
        /// <remarks/>
        public void CreateMailboxAsync(
                    string organizationId, 
                    string organizationDistinguishedName, 
                    string mailboxDatabase, 
                    string securityGroup, 
                    string offlineAddressBook, 
                    ExchangeAccountType accountType, 
                    string displayName, 
                    string accountName, 
                    string name, 
                    string domain, 
                    string password, 
                    bool enablePOP, 
                    bool enableIMAP, 
                    bool enableOWA, 
                    bool enableMAPI, 
                    bool enableActiveSync, 
                    int issueWarningKB, 
                    int prohibitSendKB, 
                    int prohibitSendReceiveKB, 
                    int keepDeletedItemsDays, 
                    object userState) {
            if ((this.CreateMailboxOperationCompleted == null)) {
                this.CreateMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateMailboxOperationCompleted);
            }
            this.InvokeAsync("CreateMailbox", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        mailboxDatabase,
                        securityGroup,
                        offlineAddressBook,
                        accountType,
                        displayName,
                        accountName,
                        name,
                        domain,
                        password,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, this.CreateMailboxOperationCompleted, userState);
        }
        
        private void OnCreateMailboxOperationCompleted(object arg) {
            if ((this.CreateMailboxCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateMailboxCompleted(this, new CreateMailboxCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DeleteMailbox", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteMailbox(string accountName) {
            this.Invoke("DeleteMailbox", new object[] {
                        accountName});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteMailbox(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteMailbox", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteMailbox(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteMailboxAsync(string accountName) {
            this.DeleteMailboxAsync(accountName, null);
        }
        
        /// <remarks/>
        public void DeleteMailboxAsync(string accountName, object userState) {
            if ((this.DeleteMailboxOperationCompleted == null)) {
                this.DeleteMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteMailboxOperationCompleted);
            }
            this.InvokeAsync("DeleteMailbox", new object[] {
                        accountName}, this.DeleteMailboxOperationCompleted, userState);
        }
        
        private void OnDeleteMailboxOperationCompleted(object arg) {
            if ((this.DeleteMailboxCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteMailboxCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DisableMailbox", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DisableMailbox(string accountName) {
            this.Invoke("DisableMailbox", new object[] {
                        accountName});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDisableMailbox(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DisableMailbox", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDisableMailbox(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DisableMailboxAsync(string accountName) {
            this.DisableMailboxAsync(accountName, null);
        }
        
        /// <remarks/>
        public void DisableMailboxAsync(string accountName, object userState) {
            if ((this.DisableMailboxOperationCompleted == null)) {
                this.DisableMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableMailboxOperationCompleted);
            }
            this.InvokeAsync("DisableMailbox", new object[] {
                        accountName}, this.DisableMailboxOperationCompleted, userState);
        }
        
        private void OnDisableMailboxOperationCompleted(object arg) {
            if ((this.DisableMailboxCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DisableMailboxCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxGeneralSettings(string accountName) {
            object[] results = this.Invoke("GetMailboxGeneralSettings", new object[] {
                        accountName});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxGeneralSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxGeneralSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxGeneralSettingsAsync(string accountName) {
            this.GetMailboxGeneralSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetMailboxGeneralSettingsAsync(string accountName, object userState) {
            if ((this.GetMailboxGeneralSettingsOperationCompleted == null)) {
                this.GetMailboxGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxGeneralSettings", new object[] {
                        accountName}, this.GetMailboxGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetMailboxGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetMailboxGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxGeneralSettingsCompleted(this, new GetMailboxGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetMailboxGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMailboxGeneralSettings(
                    string accountName, 
                    string displayName, 
                    string password, 
                    bool hideFromAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes) {
            this.Invoke("SetMailboxGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        password,
                        hideFromAddressBook,
                        disabled,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxGeneralSettings(
                    string accountName, 
                    string displayName, 
                    string password, 
                    bool hideFromAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetMailboxGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        password,
                        hideFromAddressBook,
                        disabled,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetMailboxGeneralSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetMailboxGeneralSettingsAsync(
                    string accountName, 
                    string displayName, 
                    string password, 
                    bool hideFromAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes) {
            this.SetMailboxGeneralSettingsAsync(accountName, displayName, password, hideFromAddressBook, disabled, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, null);
        }
        
        /// <remarks/>
        public void SetMailboxGeneralSettingsAsync(
                    string accountName, 
                    string displayName, 
                    string password, 
                    bool hideFromAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    object userState) {
            if ((this.SetMailboxGeneralSettingsOperationCompleted == null)) {
                this.SetMailboxGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        password,
                        hideFromAddressBook,
                        disabled,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes}, this.SetMailboxGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxGeneralSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxMailFlowSettings(string accountName) {
            object[] results = this.Invoke("GetMailboxMailFlowSettings", new object[] {
                        accountName});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxMailFlowSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxMailFlowSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxMailFlowSettingsAsync(string accountName) {
            this.GetMailboxMailFlowSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetMailboxMailFlowSettingsAsync(string accountName, object userState) {
            if ((this.GetMailboxMailFlowSettingsOperationCompleted == null)) {
                this.GetMailboxMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxMailFlowSettings", new object[] {
                        accountName}, this.GetMailboxMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetMailboxMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetMailboxMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxMailFlowSettingsCompleted(this, new GetMailboxMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetMailboxMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) {
            this.Invoke("SetMailboxMailFlowSettings", new object[] {
                        accountName,
                        enableForwarding,
                        forwardingAccountName,
                        forwardToBoth,
                        sendOnBehalfAccounts,
                        acceptAccounts,
                        rejectAccounts,
                        maxRecipients,
                        maxSendMessageSizeKB,
                        maxReceiveMessageSizeKB,
                        requireSenderAuthentication});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxMailFlowSettings", new object[] {
                        accountName,
                        enableForwarding,
                        forwardingAccountName,
                        forwardToBoth,
                        sendOnBehalfAccounts,
                        acceptAccounts,
                        rejectAccounts,
                        maxRecipients,
                        maxSendMessageSizeKB,
                        maxReceiveMessageSizeKB,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetMailboxMailFlowSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetMailboxMailFlowSettingsAsync(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) {
            this.SetMailboxMailFlowSettingsAsync(accountName, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetMailboxMailFlowSettingsAsync(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, object userState) {
            if ((this.SetMailboxMailFlowSettingsOperationCompleted == null)) {
                this.SetMailboxMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxMailFlowSettings", new object[] {
                        accountName,
                        enableForwarding,
                        forwardingAccountName,
                        forwardToBoth,
                        sendOnBehalfAccounts,
                        acceptAccounts,
                        rejectAccounts,
                        maxRecipients,
                        maxSendMessageSizeKB,
                        maxReceiveMessageSizeKB,
                        requireSenderAuthentication}, this.SetMailboxMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxMailFlowSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxAdvancedSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxAdvancedSettings(string accountName) {
            object[] results = this.Invoke("GetMailboxAdvancedSettings", new object[] {
                        accountName});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxAdvancedSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxAdvancedSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxAdvancedSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxAdvancedSettingsAsync(string accountName) {
            this.GetMailboxAdvancedSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetMailboxAdvancedSettingsAsync(string accountName, object userState) {
            if ((this.GetMailboxAdvancedSettingsOperationCompleted == null)) {
                this.GetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxAdvancedSettingsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxAdvancedSettings", new object[] {
                        accountName}, this.GetMailboxAdvancedSettingsOperationCompleted, userState);
        }
        
        private void OnGetMailboxAdvancedSettingsOperationCompleted(object arg) {
            if ((this.GetMailboxAdvancedSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxAdvancedSettingsCompleted(this, new GetMailboxAdvancedSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetMailboxAdvancedSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) {
            this.Invoke("SetMailboxAdvancedSettings", new object[] {
                        organizationId,
                        accountName,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxAdvancedSettings", new object[] {
                        organizationId,
                        accountName,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetMailboxAdvancedSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetMailboxAdvancedSettingsAsync(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) {
            this.SetMailboxAdvancedSettingsAsync(organizationId, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null);
        }
        
        /// <remarks/>
        public void SetMailboxAdvancedSettingsAsync(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, object userState) {
            if ((this.SetMailboxAdvancedSettingsOperationCompleted == null)) {
                this.SetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxAdvancedSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxAdvancedSettings", new object[] {
                        organizationId,
                        accountName,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, this.SetMailboxAdvancedSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxAdvancedSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxAdvancedSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxAdvancedSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName) {
            object[] results = this.Invoke("GetMailboxEmailAddresses", new object[] {
                        accountName});
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxEmailAddresses(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxEmailAddresses", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] EndGetMailboxEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxEmailAddressesAsync(string accountName) {
            this.GetMailboxEmailAddressesAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetMailboxEmailAddressesAsync(string accountName, object userState) {
            if ((this.GetMailboxEmailAddressesOperationCompleted == null)) {
                this.GetMailboxEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("GetMailboxEmailAddresses", new object[] {
                        accountName}, this.GetMailboxEmailAddressesOperationCompleted, userState);
        }
        
        private void OnGetMailboxEmailAddressesOperationCompleted(object arg) {
            if ((this.GetMailboxEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxEmailAddressesCompleted(this, new GetMailboxEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetMailboxEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMailboxEmailAddresses(string accountName, string[] emailAddresses) {
            this.Invoke("SetMailboxEmailAddresses", new object[] {
                        accountName,
                        emailAddresses});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxEmailAddresses(string accountName, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxEmailAddresses", new object[] {
                        accountName,
                        emailAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetMailboxEmailAddresses(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetMailboxEmailAddressesAsync(string accountName, string[] emailAddresses) {
            this.SetMailboxEmailAddressesAsync(accountName, emailAddresses, null);
        }
        
        /// <remarks/>
        public void SetMailboxEmailAddressesAsync(string accountName, string[] emailAddresses, object userState) {
            if ((this.SetMailboxEmailAddressesOperationCompleted == null)) {
                this.SetMailboxEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("SetMailboxEmailAddresses", new object[] {
                        accountName,
                        emailAddresses}, this.SetMailboxEmailAddressesOperationCompleted, userState);
        }
        
        private void OnSetMailboxEmailAddressesOperationCompleted(object arg) {
            if ((this.SetMailboxEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxEmailAddressesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetMailboxPrimaryEmailAddress", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress) {
            this.Invoke("SetMailboxPrimaryEmailAddress", new object[] {
                        accountName,
                        emailAddress});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxPrimaryEmailAddress(string accountName, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxPrimaryEmailAddress", new object[] {
                        accountName,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetMailboxPrimaryEmailAddress(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetMailboxPrimaryEmailAddressAsync(string accountName, string emailAddress) {
            this.SetMailboxPrimaryEmailAddressAsync(accountName, emailAddress, null);
        }
        
        /// <remarks/>
        public void SetMailboxPrimaryEmailAddressAsync(string accountName, string emailAddress, object userState) {
            if ((this.SetMailboxPrimaryEmailAddressOperationCompleted == null)) {
                this.SetMailboxPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxPrimaryEmailAddressOperationCompleted);
            }
            this.InvokeAsync("SetMailboxPrimaryEmailAddress", new object[] {
                        accountName,
                        emailAddress}, this.SetMailboxPrimaryEmailAddressOperationCompleted, userState);
        }
        
        private void OnSetMailboxPrimaryEmailAddressOperationCompleted(object arg) {
            if ((this.SetMailboxPrimaryEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxPrimaryEmailAddressCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetMailboxPermissions", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts) {
            this.Invoke("SetMailboxPermissions", new object[] {
                        organizationId,
                        accountName,
                        sendAsAccounts,
                        fullAccessAccounts});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxPermissions", new object[] {
                        organizationId,
                        accountName,
                        sendAsAccounts,
                        fullAccessAccounts}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetMailboxPermissions(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetMailboxPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts) {
            this.SetMailboxPermissionsAsync(organizationId, accountName, sendAsAccounts, fullAccessAccounts, null);
        }
        
        /// <remarks/>
        public void SetMailboxPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts, object userState) {
            if ((this.SetMailboxPermissionsOperationCompleted == null)) {
                this.SetMailboxPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxPermissionsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxPermissions", new object[] {
                        organizationId,
                        accountName,
                        sendAsAccounts,
                        fullAccessAccounts}, this.SetMailboxPermissionsOperationCompleted, userState);
        }
        
        private void OnSetMailboxPermissionsOperationCompleted(object arg) {
            if ((this.SetMailboxPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxPermissionsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxPermissions", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName) {
            object[] results = this.Invoke("GetMailboxPermissions", new object[] {
                        organizationId,
                        accountName});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxPermissions(string organizationId, string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxPermissions", new object[] {
                        organizationId,
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxPermissionsAsync(string organizationId, string accountName) {
            this.GetMailboxPermissionsAsync(organizationId, accountName, null);
        }
        
        /// <remarks/>
        public void GetMailboxPermissionsAsync(string organizationId, string accountName, object userState) {
            if ((this.GetMailboxPermissionsOperationCompleted == null)) {
                this.GetMailboxPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxPermissions", new object[] {
                        organizationId,
                        accountName}, this.GetMailboxPermissionsOperationCompleted, userState);
        }
        
        private void OnGetMailboxPermissionsOperationCompleted(object arg) {
            if ((this.GetMailboxPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxPermissionsCompleted(this, new GetMailboxPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMailboxStatistics", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailboxStatistics GetMailboxStatistics(string accountName) {
            object[] results = this.Invoke("GetMailboxStatistics", new object[] {
                        accountName});
            return ((ExchangeMailboxStatistics)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxStatistics(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxStatistics", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailboxStatistics EndGetMailboxStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailboxStatistics)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxStatisticsAsync(string accountName) {
            this.GetMailboxStatisticsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetMailboxStatisticsAsync(string accountName, object userState) {
            if ((this.GetMailboxStatisticsOperationCompleted == null)) {
                this.GetMailboxStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxStatistics", new object[] {
                        accountName}, this.GetMailboxStatisticsOperationCompleted, userState);
        }
        
        private void OnGetMailboxStatisticsOperationCompleted(object arg) {
            if ((this.GetMailboxStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxStatisticsCompleted(this, new GetMailboxStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreateContact", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain) {
            this.Invoke("CreateContact", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        contactDisplayName,
                        contactAccountName,
                        contactEmail,
                        defaultOrganizationDomain});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateContact", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        contactDisplayName,
                        contactAccountName,
                        contactEmail,
                        defaultOrganizationDomain}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateContact(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateContactAsync(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain) {
            this.CreateContactAsync(organizationId, organizationDistinguishedName, contactDisplayName, contactAccountName, contactEmail, defaultOrganizationDomain, null);
        }
        
        /// <remarks/>
        public void CreateContactAsync(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain, object userState) {
            if ((this.CreateContactOperationCompleted == null)) {
                this.CreateContactOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateContactOperationCompleted);
            }
            this.InvokeAsync("CreateContact", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        contactDisplayName,
                        contactAccountName,
                        contactEmail,
                        defaultOrganizationDomain}, this.CreateContactOperationCompleted, userState);
        }
        
        private void OnCreateContactOperationCompleted(object arg) {
            if ((this.CreateContactCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateContactCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DeleteContact", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteContact(string accountName) {
            this.Invoke("DeleteContact", new object[] {
                        accountName});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteContact(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteContact", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteContact(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteContactAsync(string accountName) {
            this.DeleteContactAsync(accountName, null);
        }
        
        /// <remarks/>
        public void DeleteContactAsync(string accountName, object userState) {
            if ((this.DeleteContactOperationCompleted == null)) {
                this.DeleteContactOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteContactOperationCompleted);
            }
            this.InvokeAsync("DeleteContact", new object[] {
                        accountName}, this.DeleteContactOperationCompleted, userState);
        }
        
        private void OnDeleteContactOperationCompleted(object arg) {
            if ((this.DeleteContactCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteContactCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetContactGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeContact GetContactGeneralSettings(string accountName) {
            object[] results = this.Invoke("GetContactGeneralSettings", new object[] {
                        accountName});
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetContactGeneralSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetContactGeneralSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeContact EndGetContactGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public void GetContactGeneralSettingsAsync(string accountName) {
            this.GetContactGeneralSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetContactGeneralSettingsAsync(string accountName, object userState) {
            if ((this.GetContactGeneralSettingsOperationCompleted == null)) {
                this.GetContactGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetContactGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetContactGeneralSettings", new object[] {
                        accountName}, this.GetContactGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetContactGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetContactGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetContactGeneralSettingsCompleted(this, new GetContactGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetContactGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetContactGeneralSettings(
                    string accountName, 
                    string displayName, 
                    string email, 
                    bool hideFromAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat, 
                    string defaultDomain) {
            this.Invoke("SetContactGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        email,
                        hideFromAddressBook,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        useMapiRichTextFormat,
                        defaultDomain});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetContactGeneralSettings(
                    string accountName, 
                    string displayName, 
                    string email, 
                    bool hideFromAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat, 
                    string defaultDomain, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetContactGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        email,
                        hideFromAddressBook,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        useMapiRichTextFormat,
                        defaultDomain}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetContactGeneralSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetContactGeneralSettingsAsync(
                    string accountName, 
                    string displayName, 
                    string email, 
                    bool hideFromAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat, 
                    string defaultDomain) {
            this.SetContactGeneralSettingsAsync(accountName, displayName, email, hideFromAddressBook, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, useMapiRichTextFormat, defaultDomain, null);
        }
        
        /// <remarks/>
        public void SetContactGeneralSettingsAsync(
                    string accountName, 
                    string displayName, 
                    string email, 
                    bool hideFromAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat, 
                    string defaultDomain, 
                    object userState) {
            if ((this.SetContactGeneralSettingsOperationCompleted == null)) {
                this.SetContactGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetContactGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetContactGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        email,
                        hideFromAddressBook,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        useMapiRichTextFormat,
                        defaultDomain}, this.SetContactGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetContactGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetContactGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetContactGeneralSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetContactMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeContact GetContactMailFlowSettings(string accountName) {
            object[] results = this.Invoke("GetContactMailFlowSettings", new object[] {
                        accountName});
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetContactMailFlowSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetContactMailFlowSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeContact EndGetContactMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public void GetContactMailFlowSettingsAsync(string accountName) {
            this.GetContactMailFlowSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetContactMailFlowSettingsAsync(string accountName, object userState) {
            if ((this.GetContactMailFlowSettingsOperationCompleted == null)) {
                this.GetContactMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetContactMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetContactMailFlowSettings", new object[] {
                        accountName}, this.GetContactMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetContactMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetContactMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetContactMailFlowSettingsCompleted(this, new GetContactMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetContactMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.Invoke("SetContactMailFlowSettings", new object[] {
                        accountName,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetContactMailFlowSettings", new object[] {
                        accountName,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetContactMailFlowSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetContactMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.SetContactMailFlowSettingsAsync(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetContactMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
            if ((this.SetContactMailFlowSettingsOperationCompleted == null)) {
                this.SetContactMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetContactMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetContactMailFlowSettings", new object[] {
                        accountName,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, this.SetContactMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetContactMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetContactMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetContactMailFlowSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreateDistributionList", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy) {
            this.Invoke("CreateDistributionList", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        displayName,
                        accountName,
                        name,
                        domain,
                        managedBy});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateDistributionList", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        displayName,
                        accountName,
                        name,
                        domain,
                        managedBy}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateDistributionList(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateDistributionListAsync(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy) {
            this.CreateDistributionListAsync(organizationId, organizationDistinguishedName, displayName, accountName, name, domain, managedBy, null);
        }
        
        /// <remarks/>
        public void CreateDistributionListAsync(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, object userState) {
            if ((this.CreateDistributionListOperationCompleted == null)) {
                this.CreateDistributionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDistributionListOperationCompleted);
            }
            this.InvokeAsync("CreateDistributionList", new object[] {
                        organizationId,
                        organizationDistinguishedName,
                        displayName,
                        accountName,
                        name,
                        domain,
                        managedBy}, this.CreateDistributionListOperationCompleted, userState);
        }
        
        private void OnCreateDistributionListOperationCompleted(object arg) {
            if ((this.CreateDistributionListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateDistributionListCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DeleteDistributionList", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteDistributionList(string accountName) {
            this.Invoke("DeleteDistributionList", new object[] {
                        accountName});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteDistributionList(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteDistributionList", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteDistributionList(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteDistributionListAsync(string accountName) {
            this.DeleteDistributionListAsync(accountName, null);
        }
        
        /// <remarks/>
        public void DeleteDistributionListAsync(string accountName, object userState) {
            if ((this.DeleteDistributionListOperationCompleted == null)) {
                this.DeleteDistributionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDistributionListOperationCompleted);
            }
            this.InvokeAsync("DeleteDistributionList", new object[] {
                        accountName}, this.DeleteDistributionListOperationCompleted, userState);
        }
        
        private void OnDeleteDistributionListOperationCompleted(object arg) {
            if ((this.DeleteDistributionListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteDistributionListCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetDistributionListGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeDistributionList GetDistributionListGeneralSettings(string accountName) {
            object[] results = this.Invoke("GetDistributionListGeneralSettings", new object[] {
                        accountName});
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListGeneralSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListGeneralSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeDistributionList EndGetDistributionListGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListGeneralSettingsAsync(string accountName) {
            this.GetDistributionListGeneralSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetDistributionListGeneralSettingsAsync(string accountName, object userState) {
            if ((this.GetDistributionListGeneralSettingsOperationCompleted == null)) {
                this.GetDistributionListGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListGeneralSettings", new object[] {
                        accountName}, this.GetDistributionListGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetDistributionListGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetDistributionListGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListGeneralSettingsCompleted(this, new GetDistributionListGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetDistributionListGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes) {
            this.Invoke("SetDistributionListGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        hideFromAddressBook,
                        managedBy,
                        members,
                        notes});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        hideFromAddressBook,
                        managedBy,
                        members,
                        notes}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetDistributionListGeneralSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetDistributionListGeneralSettingsAsync(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes) {
            this.SetDistributionListGeneralSettingsAsync(accountName, displayName, hideFromAddressBook, managedBy, members, notes, null);
        }
        
        /// <remarks/>
        public void SetDistributionListGeneralSettingsAsync(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, object userState) {
            if ((this.SetDistributionListGeneralSettingsOperationCompleted == null)) {
                this.SetDistributionListGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListGeneralSettings", new object[] {
                        accountName,
                        displayName,
                        hideFromAddressBook,
                        managedBy,
                        members,
                        notes}, this.SetDistributionListGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetDistributionListGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetDistributionListGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListGeneralSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetDistributionListMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName) {
            object[] results = this.Invoke("GetDistributionListMailFlowSettings", new object[] {
                        accountName});
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListMailFlowSettings(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListMailFlowSettings", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeDistributionList EndGetDistributionListMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListMailFlowSettingsAsync(string accountName) {
            this.GetDistributionListMailFlowSettingsAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetDistributionListMailFlowSettingsAsync(string accountName, object userState) {
            if ((this.GetDistributionListMailFlowSettingsOperationCompleted == null)) {
                this.GetDistributionListMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListMailFlowSettings", new object[] {
                        accountName}, this.GetDistributionListMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetDistributionListMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetDistributionListMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListMailFlowSettingsCompleted(this, new GetDistributionListMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetDistributionListMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.Invoke("SetDistributionListMailFlowSettings", new object[] {
                        accountName,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListMailFlowSettings", new object[] {
                        accountName,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetDistributionListMailFlowSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetDistributionListMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.SetDistributionListMailFlowSettingsAsync(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetDistributionListMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
            if ((this.SetDistributionListMailFlowSettingsOperationCompleted == null)) {
                this.SetDistributionListMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListMailFlowSettings", new object[] {
                        accountName,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, this.SetDistributionListMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetDistributionListMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetDistributionListMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListMailFlowSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetDistributionListEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName) {
            object[] results = this.Invoke("GetDistributionListEmailAddresses", new object[] {
                        accountName});
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListEmailAddresses(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListEmailAddresses", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] EndGetDistributionListEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListEmailAddressesAsync(string accountName) {
            this.GetDistributionListEmailAddressesAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetDistributionListEmailAddressesAsync(string accountName, object userState) {
            if ((this.GetDistributionListEmailAddressesOperationCompleted == null)) {
                this.GetDistributionListEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListEmailAddresses", new object[] {
                        accountName}, this.GetDistributionListEmailAddressesOperationCompleted, userState);
        }
        
        private void OnGetDistributionListEmailAddressesOperationCompleted(object arg) {
            if ((this.GetDistributionListEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListEmailAddressesCompleted(this, new GetDistributionListEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetDistributionListEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses) {
            this.Invoke("SetDistributionListEmailAddresses", new object[] {
                        accountName,
                        emailAddresses});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListEmailAddresses(string accountName, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListEmailAddresses", new object[] {
                        accountName,
                        emailAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetDistributionListEmailAddresses(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetDistributionListEmailAddressesAsync(string accountName, string[] emailAddresses) {
            this.SetDistributionListEmailAddressesAsync(accountName, emailAddresses, null);
        }
        
        /// <remarks/>
        public void SetDistributionListEmailAddressesAsync(string accountName, string[] emailAddresses, object userState) {
            if ((this.SetDistributionListEmailAddressesOperationCompleted == null)) {
                this.SetDistributionListEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListEmailAddresses", new object[] {
                        accountName,
                        emailAddresses}, this.SetDistributionListEmailAddressesOperationCompleted, userState);
        }
        
        private void OnSetDistributionListEmailAddressesOperationCompleted(object arg) {
            if ((this.SetDistributionListEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListEmailAddressesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetDistributionListPrimaryEmailAddress", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress) {
            this.Invoke("SetDistributionListPrimaryEmailAddress", new object[] {
                        accountName,
                        emailAddress});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListPrimaryEmailAddress", new object[] {
                        accountName,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetDistributionListPrimaryEmailAddress(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetDistributionListPrimaryEmailAddressAsync(string accountName, string emailAddress) {
            this.SetDistributionListPrimaryEmailAddressAsync(accountName, emailAddress, null);
        }
        
        /// <remarks/>
        public void SetDistributionListPrimaryEmailAddressAsync(string accountName, string emailAddress, object userState) {
            if ((this.SetDistributionListPrimaryEmailAddressOperationCompleted == null)) {
                this.SetDistributionListPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListPrimaryEmailAddressOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListPrimaryEmailAddress", new object[] {
                        accountName,
                        emailAddress}, this.SetDistributionListPrimaryEmailAddressOperationCompleted, userState);
        }
        
        private void OnSetDistributionListPrimaryEmailAddressOperationCompleted(object arg) {
            if ((this.SetDistributionListPrimaryEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListPrimaryEmailAddressCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetDistributionListPermissions", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) {
            this.Invoke("SetDistributionListPermissions", new object[] {
                        organizationId,
                        accountName,
                        sendAsAccounts,
                        sendOnBehalfAccounts});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListPermissions", new object[] {
                        organizationId,
                        accountName,
                        sendAsAccounts,
                        sendOnBehalfAccounts}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetDistributionListPermissions(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetDistributionListPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) {
            this.SetDistributionListPermissionsAsync(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts, null);
        }
        
        /// <remarks/>
        public void SetDistributionListPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, object userState) {
            if ((this.SetDistributionListPermissionsOperationCompleted == null)) {
                this.SetDistributionListPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListPermissionsOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListPermissions", new object[] {
                        organizationId,
                        accountName,
                        sendAsAccounts,
                        sendOnBehalfAccounts}, this.SetDistributionListPermissionsOperationCompleted, userState);
        }
        
        private void OnSetDistributionListPermissionsOperationCompleted(object arg) {
            if ((this.SetDistributionListPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListPermissionsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetDistributionListPermissions", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName) {
            object[] results = this.Invoke("GetDistributionListPermissions", new object[] {
                        organizationId,
                        accountName});
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListPermissions(string organizationId, string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListPermissions", new object[] {
                        organizationId,
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeDistributionList EndGetDistributionListPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListPermissionsAsync(string organizationId, string accountName) {
            this.GetDistributionListPermissionsAsync(organizationId, accountName, null);
        }
        
        /// <remarks/>
        public void GetDistributionListPermissionsAsync(string organizationId, string accountName, object userState) {
            if ((this.GetDistributionListPermissionsOperationCompleted == null)) {
                this.GetDistributionListPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListPermissions", new object[] {
                        organizationId,
                        accountName}, this.GetDistributionListPermissionsOperationCompleted, userState);
        }
        
        private void OnGetDistributionListPermissionsOperationCompleted(object arg) {
            if ((this.GetDistributionListPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListPermissionsCompleted(this, new GetDistributionListPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreatePublicFolder", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain) {
            this.Invoke("CreatePublicFolder", new object[] {
                        organizationId,
                        securityGroup,
                        parentFolder,
                        folderName,
                        mailEnabled,
                        accountName,
                        name,
                        domain});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreatePublicFolder", new object[] {
                        organizationId,
                        securityGroup,
                        parentFolder,
                        folderName,
                        mailEnabled,
                        accountName,
                        name,
                        domain}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreatePublicFolder(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreatePublicFolderAsync(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain) {
            this.CreatePublicFolderAsync(organizationId, securityGroup, parentFolder, folderName, mailEnabled, accountName, name, domain, null);
        }
        
        /// <remarks/>
        public void CreatePublicFolderAsync(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain, object userState) {
            if ((this.CreatePublicFolderOperationCompleted == null)) {
                this.CreatePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreatePublicFolderOperationCompleted);
            }
            this.InvokeAsync("CreatePublicFolder", new object[] {
                        organizationId,
                        securityGroup,
                        parentFolder,
                        folderName,
                        mailEnabled,
                        accountName,
                        name,
                        domain}, this.CreatePublicFolderOperationCompleted, userState);
        }
        
        private void OnCreatePublicFolderOperationCompleted(object arg) {
            if ((this.CreatePublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreatePublicFolderCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DeletePublicFolder", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeletePublicFolder(string folder) {
            this.Invoke("DeletePublicFolder", new object[] {
                        folder});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeletePublicFolder(string folder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeletePublicFolder", new object[] {
                        folder}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeletePublicFolder(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeletePublicFolderAsync(string folder) {
            this.DeletePublicFolderAsync(folder, null);
        }
        
        /// <remarks/>
        public void DeletePublicFolderAsync(string folder, object userState) {
            if ((this.DeletePublicFolderOperationCompleted == null)) {
                this.DeletePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderOperationCompleted);
            }
            this.InvokeAsync("DeletePublicFolder", new object[] {
                        folder}, this.DeletePublicFolderOperationCompleted, userState);
        }
        
        private void OnDeletePublicFolderOperationCompleted(object arg) {
            if ((this.DeletePublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeletePublicFolderCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/EnableMailPublicFolder", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void EnableMailPublicFolder(string organizationId, string folder, string accountName, string name, string domain) {
            this.Invoke("EnableMailPublicFolder", new object[] {
                        organizationId,
                        folder,
                        accountName,
                        name,
                        domain});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginEnableMailPublicFolder(string organizationId, string folder, string accountName, string name, string domain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("EnableMailPublicFolder", new object[] {
                        organizationId,
                        folder,
                        accountName,
                        name,
                        domain}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndEnableMailPublicFolder(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void EnableMailPublicFolderAsync(string organizationId, string folder, string accountName, string name, string domain) {
            this.EnableMailPublicFolderAsync(organizationId, folder, accountName, name, domain, null);
        }
        
        /// <remarks/>
        public void EnableMailPublicFolderAsync(string organizationId, string folder, string accountName, string name, string domain, object userState) {
            if ((this.EnableMailPublicFolderOperationCompleted == null)) {
                this.EnableMailPublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEnableMailPublicFolderOperationCompleted);
            }
            this.InvokeAsync("EnableMailPublicFolder", new object[] {
                        organizationId,
                        folder,
                        accountName,
                        name,
                        domain}, this.EnableMailPublicFolderOperationCompleted, userState);
        }
        
        private void OnEnableMailPublicFolderOperationCompleted(object arg) {
            if ((this.EnableMailPublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.EnableMailPublicFolderCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/DisableMailPublicFolder", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DisableMailPublicFolder(string folder) {
            this.Invoke("DisableMailPublicFolder", new object[] {
                        folder});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDisableMailPublicFolder(string folder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DisableMailPublicFolder", new object[] {
                        folder}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDisableMailPublicFolder(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DisableMailPublicFolderAsync(string folder) {
            this.DisableMailPublicFolderAsync(folder, null);
        }
        
        /// <remarks/>
        public void DisableMailPublicFolderAsync(string folder, object userState) {
            if ((this.DisableMailPublicFolderOperationCompleted == null)) {
                this.DisableMailPublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableMailPublicFolderOperationCompleted);
            }
            this.InvokeAsync("DisableMailPublicFolder", new object[] {
                        folder}, this.DisableMailPublicFolderOperationCompleted, userState);
        }
        
        private void OnDisableMailPublicFolderOperationCompleted(object arg) {
            if ((this.DisableMailPublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DisableMailPublicFolderCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetPublicFolderGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangePublicFolder GetPublicFolderGeneralSettings(string folder) {
            object[] results = this.Invoke("GetPublicFolderGeneralSettings", new object[] {
                        folder});
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderGeneralSettings(string folder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderGeneralSettings", new object[] {
                        folder}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangePublicFolder EndGetPublicFolderGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderGeneralSettingsAsync(string folder) {
            this.GetPublicFolderGeneralSettingsAsync(folder, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderGeneralSettingsAsync(string folder, object userState) {
            if ((this.GetPublicFolderGeneralSettingsOperationCompleted == null)) {
                this.GetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderGeneralSettings", new object[] {
                        folder}, this.GetPublicFolderGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetPublicFolderGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderGeneralSettingsCompleted(this, new GetPublicFolderGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetPublicFolderGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetPublicFolderGeneralSettings(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook) {
            this.Invoke("SetPublicFolderGeneralSettings", new object[] {
                        folder,
                        newFolderName,
                        authorAccounts,
                        hideFromAddressBook});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderGeneralSettings(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderGeneralSettings", new object[] {
                        folder,
                        newFolderName,
                        authorAccounts,
                        hideFromAddressBook}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetPublicFolderGeneralSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook) {
            this.SetPublicFolderGeneralSettingsAsync(folder, newFolderName, authorAccounts, hideFromAddressBook, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook, object userState) {
            if ((this.SetPublicFolderGeneralSettingsOperationCompleted == null)) {
                this.SetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderGeneralSettings", new object[] {
                        folder,
                        newFolderName,
                        authorAccounts,
                        hideFromAddressBook}, this.SetPublicFolderGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetPublicFolderGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderGeneralSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetPublicFolderMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder) {
            object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] {
                        folder});
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(string folder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] {
                        folder}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangePublicFolder EndGetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderMailFlowSettingsAsync(string folder) {
            this.GetPublicFolderMailFlowSettingsAsync(folder, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderMailFlowSettingsAsync(string folder, object userState) {
            if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) {
                this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] {
                        folder}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetPublicFolderMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderMailFlowSettingsCompleted(this, new GetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetPublicFolderMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetPublicFolderMailFlowSettings(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.Invoke("SetPublicFolderMailFlowSettings", new object[] {
                        folder,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] {
                        folder,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetPublicFolderMailFlowSettingsAsync(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.SetPublicFolderMailFlowSettingsAsync(folder, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderMailFlowSettingsAsync(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
            if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) {
                this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] {
                        folder,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, this.SetPublicFolderMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetPublicFolderMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderMailFlowSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetPublicFolderEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder) {
            object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] {
                        folder});
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderEmailAddresses(string folder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] {
                        folder}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] EndGetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderEmailAddressesAsync(string folder) {
            this.GetPublicFolderEmailAddressesAsync(folder, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderEmailAddressesAsync(string folder, object userState) {
            if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) {
                this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] {
                        folder}, this.GetPublicFolderEmailAddressesOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderEmailAddressesOperationCompleted(object arg) {
            if ((this.GetPublicFolderEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderEmailAddressesCompleted(this, new GetPublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetPublicFolderEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetPublicFolderEmailAddresses(string folder, string[] emailAddresses) {
            this.Invoke("SetPublicFolderEmailAddresses", new object[] {
                        folder,
                        emailAddresses});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderEmailAddresses(string folder, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderEmailAddresses", new object[] {
                        folder,
                        emailAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetPublicFolderEmailAddressesAsync(string folder, string[] emailAddresses) {
            this.SetPublicFolderEmailAddressesAsync(folder, emailAddresses, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderEmailAddressesAsync(string folder, string[] emailAddresses, object userState) {
            if ((this.SetPublicFolderEmailAddressesOperationCompleted == null)) {
                this.SetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderEmailAddresses", new object[] {
                        folder,
                        emailAddresses}, this.SetPublicFolderEmailAddressesOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderEmailAddressesOperationCompleted(object arg) {
            if ((this.SetPublicFolderEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderEmailAddressesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetPublicFolderPrimaryEmailAddress", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetPublicFolderPrimaryEmailAddress(string folder, string emailAddress) {
            this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] {
                        folder,
                        emailAddress});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(string folder, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] {
                        folder,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetPublicFolderPrimaryEmailAddress(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetPublicFolderPrimaryEmailAddressAsync(string folder, string emailAddress) {
            this.SetPublicFolderPrimaryEmailAddressAsync(folder, emailAddress, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderPrimaryEmailAddressAsync(string folder, string emailAddress, object userState) {
            if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) {
                this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] {
                        folder,
                        emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderPrimaryEmailAddressOperationCompleted(object arg) {
            if ((this.SetPublicFolderPrimaryEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderPrimaryEmailAddressCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetPublicFoldersStatistics", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeItemStatistics[] GetPublicFoldersStatistics(string[] folders) {
            object[] results = this.Invoke("GetPublicFoldersStatistics", new object[] {
                        folders});
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFoldersStatistics(string[] folders, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFoldersStatistics", new object[] {
                        folders}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] EndGetPublicFoldersStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFoldersStatisticsAsync(string[] folders) {
            this.GetPublicFoldersStatisticsAsync(folders, null);
        }
        
        /// <remarks/>
        public void GetPublicFoldersStatisticsAsync(string[] folders, object userState) {
            if ((this.GetPublicFoldersStatisticsOperationCompleted == null)) {
                this.GetPublicFoldersStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetPublicFoldersStatistics", new object[] {
                        folders}, this.GetPublicFoldersStatisticsOperationCompleted, userState);
        }
        
        private void OnGetPublicFoldersStatisticsOperationCompleted(object arg) {
            if ((this.GetPublicFoldersStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFoldersStatisticsCompleted(this, new GetPublicFoldersStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetPublicFoldersRecursive", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetPublicFoldersRecursive(string parent) {
            object[] results = this.Invoke("GetPublicFoldersRecursive", new object[] {
                        parent});
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFoldersRecursive(string parent, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFoldersRecursive", new object[] {
                        parent}, callback, asyncState);
        }
        
        /// <remarks/>
        public string[] EndGetPublicFoldersRecursive(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFoldersRecursiveAsync(string parent) {
            this.GetPublicFoldersRecursiveAsync(parent, null);
        }
        
        /// <remarks/>
        public void GetPublicFoldersRecursiveAsync(string parent, object userState) {
            if ((this.GetPublicFoldersRecursiveOperationCompleted == null)) {
                this.GetPublicFoldersRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersRecursiveOperationCompleted);
            }
            this.InvokeAsync("GetPublicFoldersRecursive", new object[] {
                        parent}, this.GetPublicFoldersRecursiveOperationCompleted, userState);
        }
        
        private void OnGetPublicFoldersRecursiveOperationCompleted(object arg) {
            if ((this.GetPublicFoldersRecursiveCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFoldersRecursiveCompleted(this, new GetPublicFoldersRecursiveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetPublicFolderSize", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public long GetPublicFolderSize(string folder) {
            object[] results = this.Invoke("GetPublicFolderSize", new object[] {
                        folder});
            return ((long)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderSize(string folder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderSize", new object[] {
                        folder}, callback, asyncState);
        }
        
        /// <remarks/>
        public long EndGetPublicFolderSize(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((long)(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderSizeAsync(string folder) {
            this.GetPublicFolderSizeAsync(folder, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderSizeAsync(string folder, object userState) {
            if ((this.GetPublicFolderSizeOperationCompleted == null)) {
                this.GetPublicFolderSizeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderSizeOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderSize", new object[] {
                        folder}, this.GetPublicFolderSizeOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderSizeOperationCompleted(object arg) {
            if ((this.GetPublicFolderSizeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderSizeCompleted(this, new GetPublicFolderSizeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CreateOrganizationActiveSyncPolicy", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateOrganizationActiveSyncPolicy(string organizationId) {
            this.Invoke("CreateOrganizationActiveSyncPolicy", new object[] {
                        organizationId});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateOrganizationActiveSyncPolicy(string organizationId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateOrganizationActiveSyncPolicy", new object[] {
                        organizationId}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateOrganizationActiveSyncPolicy(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateOrganizationActiveSyncPolicyAsync(string organizationId) {
            this.CreateOrganizationActiveSyncPolicyAsync(organizationId, null);
        }
        
        /// <remarks/>
        public void CreateOrganizationActiveSyncPolicyAsync(string organizationId, object userState) {
            if ((this.CreateOrganizationActiveSyncPolicyOperationCompleted == null)) {
                this.CreateOrganizationActiveSyncPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationActiveSyncPolicyOperationCompleted);
            }
            this.InvokeAsync("CreateOrganizationActiveSyncPolicy", new object[] {
                        organizationId}, this.CreateOrganizationActiveSyncPolicyOperationCompleted, userState);
        }
        
        private void OnCreateOrganizationActiveSyncPolicyOperationCompleted(object arg) {
            if ((this.CreateOrganizationActiveSyncPolicyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateOrganizationActiveSyncPolicyCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetActiveSyncPolicy", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId) {
            object[] results = this.Invoke("GetActiveSyncPolicy", new object[] {
                        organizationId});
            return ((ExchangeActiveSyncPolicy)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetActiveSyncPolicy(string organizationId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetActiveSyncPolicy", new object[] {
                        organizationId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeActiveSyncPolicy EndGetActiveSyncPolicy(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeActiveSyncPolicy)(results[0]));
        }
        
        /// <remarks/>
        public void GetActiveSyncPolicyAsync(string organizationId) {
            this.GetActiveSyncPolicyAsync(organizationId, null);
        }
        
        /// <remarks/>
        public void GetActiveSyncPolicyAsync(string organizationId, object userState) {
            if ((this.GetActiveSyncPolicyOperationCompleted == null)) {
                this.GetActiveSyncPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetActiveSyncPolicyOperationCompleted);
            }
            this.InvokeAsync("GetActiveSyncPolicy", new object[] {
                        organizationId}, this.GetActiveSyncPolicyOperationCompleted, userState);
        }
        
        private void OnGetActiveSyncPolicyOperationCompleted(object arg) {
            if ((this.GetActiveSyncPolicyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetActiveSyncPolicyCompleted(this, new GetActiveSyncPolicyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/SetActiveSyncPolicy", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetActiveSyncPolicy(
                    string id, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInterval) {
            this.Invoke("SetActiveSyncPolicy", new object[] {
                        id,
                        allowNonProvisionableDevices,
                        attachmentsEnabled,
                        maxAttachmentSizeKB,
                        uncAccessEnabled,
                        wssAccessEnabled,
                        devicePasswordEnabled,
                        alphanumericPasswordRequired,
                        passwordRecoveryEnabled,
                        deviceEncryptionEnabled,
                        allowSimplePassword,
                        maxPasswordFailedAttempts,
                        minPasswordLength,
                        inactivityLockMin,
                        passwordExpirationDays,
                        passwordHistory,
                        refreshInterval});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetActiveSyncPolicy(
                    string id, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInterval, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetActiveSyncPolicy", new object[] {
                        id,
                        allowNonProvisionableDevices,
                        attachmentsEnabled,
                        maxAttachmentSizeKB,
                        uncAccessEnabled,
                        wssAccessEnabled,
                        devicePasswordEnabled,
                        alphanumericPasswordRequired,
                        passwordRecoveryEnabled,
                        deviceEncryptionEnabled,
                        allowSimplePassword,
                        maxPasswordFailedAttempts,
                        minPasswordLength,
                        inactivityLockMin,
                        passwordExpirationDays,
                        passwordHistory,
                        refreshInterval}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetActiveSyncPolicy(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetActiveSyncPolicyAsync(
                    string id, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInterval) {
            this.SetActiveSyncPolicyAsync(id, allowNonProvisionableDevices, attachmentsEnabled, maxAttachmentSizeKB, uncAccessEnabled, wssAccessEnabled, devicePasswordEnabled, alphanumericPasswordRequired, passwordRecoveryEnabled, deviceEncryptionEnabled, allowSimplePassword, maxPasswordFailedAttempts, minPasswordLength, inactivityLockMin, passwordExpirationDays, passwordHistory, refreshInterval, null);
        }
        
        /// <remarks/>
        public void SetActiveSyncPolicyAsync(
                    string id, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInterval, 
                    object userState) {
            if ((this.SetActiveSyncPolicyOperationCompleted == null)) {
                this.SetActiveSyncPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetActiveSyncPolicyOperationCompleted);
            }
            this.InvokeAsync("SetActiveSyncPolicy", new object[] {
                        id,
                        allowNonProvisionableDevices,
                        attachmentsEnabled,
                        maxAttachmentSizeKB,
                        uncAccessEnabled,
                        wssAccessEnabled,
                        devicePasswordEnabled,
                        alphanumericPasswordRequired,
                        passwordRecoveryEnabled,
                        deviceEncryptionEnabled,
                        allowSimplePassword,
                        maxPasswordFailedAttempts,
                        minPasswordLength,
                        inactivityLockMin,
                        passwordExpirationDays,
                        passwordHistory,
                        refreshInterval}, this.SetActiveSyncPolicyOperationCompleted, userState);
        }
        
        private void OnSetActiveSyncPolicyOperationCompleted(object arg) {
            if ((this.SetActiveSyncPolicyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetActiveSyncPolicyCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMobileDevices", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMobileDevice[] GetMobileDevices(string accountName) {
            object[] results = this.Invoke("GetMobileDevices", new object[] {
                        accountName});
            return ((ExchangeMobileDevice[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMobileDevices(string accountName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMobileDevices", new object[] {
                        accountName}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMobileDevice[] EndGetMobileDevices(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMobileDevice[])(results[0]));
        }
        
        /// <remarks/>
        public void GetMobileDevicesAsync(string accountName) {
            this.GetMobileDevicesAsync(accountName, null);
        }
        
        /// <remarks/>
        public void GetMobileDevicesAsync(string accountName, object userState) {
            if ((this.GetMobileDevicesOperationCompleted == null)) {
                this.GetMobileDevicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDevicesOperationCompleted);
            }
            this.InvokeAsync("GetMobileDevices", new object[] {
                        accountName}, this.GetMobileDevicesOperationCompleted, userState);
        }
        
        private void OnGetMobileDevicesOperationCompleted(object arg) {
            if ((this.GetMobileDevicesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMobileDevicesCompleted(this, new GetMobileDevicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/GetMobileDevice", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMobileDevice GetMobileDevice(string id) {
            object[] results = this.Invoke("GetMobileDevice", new object[] {
                        id});
            return ((ExchangeMobileDevice)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMobileDevice(string id, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMobileDevice", new object[] {
                        id}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMobileDevice EndGetMobileDevice(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMobileDevice)(results[0]));
        }
        
        /// <remarks/>
        public void GetMobileDeviceAsync(string id) {
            this.GetMobileDeviceAsync(id, null);
        }
        
        /// <remarks/>
        public void GetMobileDeviceAsync(string id, object userState) {
            if ((this.GetMobileDeviceOperationCompleted == null)) {
                this.GetMobileDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDeviceOperationCompleted);
            }
            this.InvokeAsync("GetMobileDevice", new object[] {
                        id}, this.GetMobileDeviceOperationCompleted, userState);
        }
        
        private void OnGetMobileDeviceOperationCompleted(object arg) {
            if ((this.GetMobileDeviceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMobileDeviceCompleted(this, new GetMobileDeviceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/WipeDataFromDevice", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void WipeDataFromDevice(string id) {
            this.Invoke("WipeDataFromDevice", new object[] {
                        id});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginWipeDataFromDevice(string id, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("WipeDataFromDevice", new object[] {
                        id}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void WipeDataFromDeviceAsync(string id) {
            this.WipeDataFromDeviceAsync(id, null);
        }
        
        /// <remarks/>
        public void WipeDataFromDeviceAsync(string id, object userState) {
            if ((this.WipeDataFromDeviceOperationCompleted == null)) {
                this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted);
            }
            this.InvokeAsync("WipeDataFromDevice", new object[] {
                        id}, this.WipeDataFromDeviceOperationCompleted, userState);
        }
        
        private void OnWipeDataFromDeviceOperationCompleted(object arg) {
            if ((this.WipeDataFromDeviceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/CancelRemoteWipeRequest", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CancelRemoteWipeRequest(string id) {
            this.Invoke("CancelRemoteWipeRequest", new object[] {
                        id});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCancelRemoteWipeRequest(string id, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CancelRemoteWipeRequest", new object[] {
                        id}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CancelRemoteWipeRequestAsync(string id) {
            this.CancelRemoteWipeRequestAsync(id, null);
        }
        
        /// <remarks/>
        public void CancelRemoteWipeRequestAsync(string id, object userState) {
            if ((this.CancelRemoteWipeRequestOperationCompleted == null)) {
                this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted);
            }
            this.InvokeAsync("CancelRemoteWipeRequest", new object[] {
                        id}, this.CancelRemoteWipeRequestOperationCompleted, userState);
        }
        
        private void OnCancelRemoteWipeRequestOperationCompleted(object arg) {
            if ((this.CancelRemoteWipeRequestCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/server/RemoveDevice", RequestNamespace="http://smbsaas/dotpanel/server/", ResponseNamespace="http://smbsaas/dotpanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void RemoveDevice(string id) {
            this.Invoke("RemoveDevice", new object[] {
                        id});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRemoveDevice(string id, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RemoveDevice", new object[] {
                        id}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndRemoveDevice(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void RemoveDeviceAsync(string id) {
            this.RemoveDeviceAsync(id, null);
        }
        
        /// <remarks/>
        public void RemoveDeviceAsync(string id, object userState) {
            if ((this.RemoveDeviceOperationCompleted == null)) {
                this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted);
            }
            this.InvokeAsync("RemoveDevice", new object[] {
                        id}, this.RemoveDeviceOperationCompleted, userState);
        }
        
        private void OnRemoveDeviceOperationCompleted(object arg) {
            if ((this.RemoveDeviceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CheckAccountCredentialsCompletedEventHandler(object sender, CheckAccountCredentialsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CheckAccountCredentialsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CheckAccountCredentialsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void ExtendToExchangeOrganizationCompletedEventHandler(object sender, ExtendToExchangeOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ExtendToExchangeOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ExtendToExchangeOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateMailEnableUserCompletedEventHandler(object sender, CreateMailEnableUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateMailEnableUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateMailEnableUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateOrganizationOfflineAddressBookCompletedEventHandler(object sender, CreateOrganizationOfflineAddressBookCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateOrganizationOfflineAddressBookCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateOrganizationOfflineAddressBookCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void UpdateOrganizationOfflineAddressBookCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetOABVirtualDirectoryCompletedEventHandler(object sender, GetOABVirtualDirectoryCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOABVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOABVirtualDirectoryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetOrganizationStorageLimitsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxesStatisticsCompletedEventHandler(object sender, GetMailboxesStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxesStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxesStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeItemStatistics[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void AddAuthoritativeDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetAuthoritativeDomainsCompletedEventHandler(object sender, GetAuthoritativeDomainsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAuthoritativeDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAuthoritativeDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteAuthoritativeDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateMailboxCompletedEventHandler(object sender, CreateMailboxCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteMailboxCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DisableMailboxCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxMailFlowSettingsCompletedEventHandler(object sender, GetMailboxMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxAdvancedSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxEmailAddressesCompletedEventHandler(object sender, GetMailboxEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeEmailAddress[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxEmailAddressesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxPrimaryEmailAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxPermissionsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxPermissionsCompletedEventHandler(object sender, GetMailboxPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxStatisticsCompletedEventHandler(object sender, GetMailboxStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailboxStatistics Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailboxStatistics)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateContactCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteContactCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetContactGeneralSettingsCompletedEventHandler(object sender, GetContactGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeContact Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeContact)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetContactGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetContactMailFlowSettingsCompletedEventHandler(object sender, GetContactMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeContact Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeContact)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetContactMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateDistributionListCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteDistributionListCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListGeneralSettingsCompletedEventHandler(object sender, GetDistributionListGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeDistributionList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeDistributionList)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListMailFlowSettingsCompletedEventHandler(object sender, GetDistributionListMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeDistributionList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeDistributionList)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListEmailAddressesCompletedEventHandler(object sender, GetDistributionListEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeEmailAddress[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListEmailAddressesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListPrimaryEmailAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListPermissionsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListPermissionsCompletedEventHandler(object sender, GetDistributionListPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeDistributionList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeDistributionList)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreatePublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeletePublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void EnableMailPublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DisableMailPublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderGeneralSettingsCompletedEventHandler(object sender, GetPublicFolderGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangePublicFolder Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangePublicFolder)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, GetPublicFolderMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangePublicFolder Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangePublicFolder)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderEmailAddressesCompletedEventHandler(object sender, GetPublicFolderEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeEmailAddress[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderEmailAddressesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderPrimaryEmailAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFoldersStatisticsCompletedEventHandler(object sender, GetPublicFoldersStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFoldersStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFoldersStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeItemStatistics[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFoldersRecursiveCompletedEventHandler(object sender, GetPublicFoldersRecursiveCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFoldersRecursiveCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFoldersRecursiveCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderSizeCompletedEventHandler(object sender, GetPublicFolderSizeCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderSizeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderSizeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public long Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((long)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateOrganizationActiveSyncPolicyCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetActiveSyncPolicyCompletedEventHandler(object sender, GetActiveSyncPolicyCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeActiveSyncPolicy Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeActiveSyncPolicy)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetActiveSyncPolicyCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMobileDevicesCompletedEventHandler(object sender, GetMobileDevicesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMobileDevicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMobileDevicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMobileDevice[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMobileDevice[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMobileDeviceCompletedEventHandler(object sender, GetMobileDeviceCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMobileDeviceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMobileDeviceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMobileDevice Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMobileDevice)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
}
